AWAITKEY MENUn ERRORHANDLER GETA1 LS10* LS112 LS12: LS13B LS14J LS15R LS16Z LS17b LS18j LS19r LS20z LS29g GG101 GG119 GG12A GG13I GG14Q GG15Y GG16a GG17i GG18q GG19y GG30$ GG316 GG320 GETANOTHERe E120o DISPLAYx NULL_ CHOICE AWAITKEY2 QUIT, ENTERITG RETRIEVEIT MENU1 MENU2x SKIP1 SKIP2% GETANOTHER2 RDT36 SKIP3 COLOER CRSLIN PICK2 RDT6? RDT8r RDT10 RDT11 RDT12U SAVE2 SHAREWARE SHARWARE SHARWARE.002N SHAREWARE2F RD10T HPRINTe COMMANDS HOLDTHEN PRINTIT DISPLAY2( HOLDCODE TANDF> HEADER! NOT58 IFLPRINT SKIPLINE1) SKIPLINE2 SKIPLINE3 SKIPLINE5 SKIPLINE4 TALLYG SKIPHEADER3 SKIPHEADER2P SKIPHEADER1^ SKIPSPACES ADVANCE ANOTHERe LOCATE14< HELP6 CTHEN[ THENLOCATE SKIPNEXT UNKNOWN RDTXe FILLw SKIPTESTSCREEN CHANGETYPE NUMBERITS MOVE1 HELP1 entered version version. RETAIN PRTQ2 PRTQ3 PRTQ4 PRTQ5 PRTQ1; PRT13 PRTQ6 PRTQ7Y PRTQ8_ PRTQ9 PRTQ10 PRTQ11 PRTQ125 CETURNB ANSWERSO ANWERS PRINTIT2+ ANSWERS2 SKIPSPACES2 SKIPHEADER12 SKIPLINE12 SKIPHEADER22 SKIPLINE22 SKIPLINE32 SKIPHEADER32 HEADER2y SKIPLINE42 PRINTANSWERPAGE PRINTANSWERPAGENO BLANKS QUESTIONS] TIMETHROUGH PRINTIT3m TIMESTHROUGH TIMESTHRHOUGH TIMESTHROUGH1( TYPE2 FF11I FF12g PRTQ13q PRTQ14{ PRTQ15 PRTQ16 PRTQ17 PRTQ18Z PRTQ19 PRTQ20 PRTQ21 PRTQ22 PRTQ23 PRTQ24 PRTQ25 PRTQ26 PRTQ27 PRTQ28 AA12A BB10Q BB11X DD12F EE10V EE11^ EE12e HRETURNG II10' II11. II12C IRETURNn JJ10~ LL10, LL113 LL12s NN12! OO101 OO118 OO12x QQ12& RR106 RR11= RR12} TT12+ UU10; UU11B WW12) XX109 XX11@ ZZ128 AAA1A AAA2Z AAA3b AAA4j AAA6r AAA7z AAA10J AAA11R AAA12 BBB4L BBB9) BBB100 BBB11a BBB12 BBB6> ADVANCE2 TALLY2 FALSE MULTIPLE VT12n TIMESVTHROUGH VTVT1 VTVT2 VTVT3 VTVT4 TALY2 SKIPRESET RESET NEWNAME1 RESETIT RESET2d REENTER COPYQ COPYS[ REVERT SKIPPRTQ ANSWERS3 MOREA MOREA2 HOLDNO2 SKIPNULL2 THEEND PLEASE PUTITHERE NGOTO THEEND20 DESKJET MATRIX WHICHTYPE WHICHTYPE2 PRINTER NUMPAGE ENDPAGE establishes upper case mode. reserves memory address in which to save the records., ADVER.001" ADVER.002" ADVER.003" ADVER.004" ADVER.005" following routine gives user the option of choosing to QUIT, pressq 1 to enter new questions, or pressing 2 to retrieve, print or alter records. coming to this point, from any other routine in the program, will null the values of all strings, via the CLEAR command.i RGTESTS.MEN" routine comes here when user selects 1, on the menu, to enter new questions.e TESTFILL.000 rems for the T1 through T12 labels.e data is typed, and enter is pressed. T1$ thru T12$ values are established, as are the RDT1 thru RDT12 string values. If H is pressed the routine will, access the HELP screens, and then return to the point of origin. If BU is, pressed, the cursor backs up 1 line, to the 1st previous line that deals with the specific question type selected. If N is typed, you route back to the screen where you entered the Retrieval criteria. If S is typed you will access the save options menu. The 1st 3 lines can not be left blank, and a routinec is established that both prevents this and warns the user. Pressing Q will Quit, pressing M accesses the main Menu, and SPACE & ENTER will void a line of any previously existing data, with the exception of lines 1, 2, and 3. If the user leaves the screen by N, M, or Q, prior to saving the data with S, then it is as though the user had never accessed the screen in the first place. Pressing BU, to back up 1 line at a time, or press ing S or H, in no way affects anyn data that might previously have existed on the line where there commands were given. RECORD # TOO LONG __________ NEED NAME" __________ NEED NAME" __________ TRUE AND FALSE!" MULTIPLE CHOICE! FILL IN THE BLANKS!" TOO LONG ______________________________________________________________________ " ________________________________________________________________________ TRUE AND FALSE!" MULTIPLE CHOICE! FILL IN THE BLANKS!" RECORD # TOO LONG ________________________________________________________________________ ________________________________________________________________________ TOO LONG ________________________________________________________________________ ________________________________________________________________________ TOO LONG ____________________ " ____________________ TOO LONG ____________________ " ____________________ TOO LONG ____________________ " ____________________ TOO LONG ___ TOO LONG ____________________ " ____________________ TOO LONG ____________________ " ____________________ TOO LONG ____________________ " ____________________ prints save options menu to the screen. S = SAVE - R = REDO Q = QUIT - M = MENU allows user to select Q, M, or S from the save menu.t next 2 lines erases the save menu options from the screen. routes cursor back to 1st line,s with no change in the text on the screen routine routes here when retrieving, and the user then enters the identification (retrieval criteria), for which it will search. RETRIEVE.001 the temp1 simply is used to give the correct length to the retrieval criteria, so that it can accurately compare to the length of the retrieved string, toi to which it will be compared.p TEMP1"d TEMP1"d gives value of N1$ to ID2$, because the value of NN1$ will be cleared in the next line because of the CLOSE statement. TESTS.REC"d establishes a length for max characters allowed in the field for the record. ? gives a value to UNKNOWN$ so that it can be used to control routines correctly, when retrieval was done with the ? entry. routes back here to continue to search when CODE% has been given a new value, as the result of pressing the arrow keys, etc., not as a result of accessing the NEXT CODE% phrase below. THIS DATA BASE NAME COULD NOT BE FOUND IN THE FILE routes back to continue searching for matching records.l establishes a value for HOLD% that is equal to CODE%, which, in this case, is the CODE% value that identifies the last legitimate record number that was found to match the retrieval criteria. Then when the CODE% has been changed, etc, duringv searching, etc, you can revert the active CODE% back to the last legitimate record displayed, by giving CODE% the value of HOLD%. DISPLAY.001" the following lines give the values of the retrieved F strings, to thee normal operational strings of T and RDT, for each of the data input lines.e then they establish a color, and print these values to the display.001 screen.l next 2 lines alter the value of the QNO!, each time the routine routes through here. the value of QNO! is the successive numbering of the records that are retrievable, for a given T1$ retrieval criteria. gives a starting value to the QN0! next line prints record number to top area of screen, when altering.Q next line prints ALL RECORDS to screen, if retieval criteria is ?, which makes UNKNOWN$ = "1", and skipts the normal printing of the T1$ value. FOR ALL RECORDS" next line prints the normal value of the T1$ to the screen, when retrieval has not been via the ? for the retrieval criteria. prints the identification string on the correct line, when altering a record. following lines take the F$ values (saved strings), and converts them, bya removing the blanks. In this manner they can be more easily handled., TRUE AND FALSE!" MULTIPLE CHOICE! FILL IN THE BLANKS!" when user is altering, the program uses the display commands again. but then routes back to the 1st line of the screen, instead of terminating at the COMMANDS point. the point in the program where the user chooses to browse with arrows,a press N, M, P, A, or Q, or C to access the alteration mode, or press # to makee their final page # print, if they were printing with the P key, selectively.k routes to print routine, automatically, when printing with the A key, so that all records, that match the retrieval criteria, will print in succession.h DONE! TYPE # TO NUMBER PAGE" TEST COMPLETED! RETURN TO " MENU , IF PRINTING MORE! " ENTER CLEARS THIS PROMPT! " " " " " THE PAGE IS NUMBERED!" " ***** RETRIEVAL SCREEN ***** THE PAGE IS NUMBERED!" next line prevents the user from printing ALL, if they used the ? to retrieve.. TO END YOUR TEST & NUMBER THE PAGE, PRESS SHIFT & 3, AND FOLLOW THE PROMPTS! ALTER.000" SAVING DATA the next line prevents the program from closing, and re-opening the file,, when it must obviously already be open, if COM$ = "C". If it was allowed to close, then all string values would be lost. DATA.DATd 12121" TESTS.REC"d return point when code% values have been changed by the COM$ value. limits the question input to 20, in shareware version. the next line stops the file from closing, if user is altering and has just saved. it also gives the value of F1$ ( the retrievable string) the value of ID2$, just in case the user changed the retrievable string, during their alterations. This is necessary because otherwise the value of ID2$ (for the existing code%), would not match the altered value for F1$, which was just saved, causing the computer to lockup. DATA SAVED following line null all data strings, except for T1$, T2$ and T3$, BLOADS the testfill.000 screen, re-inserts the string data for T1, T2, and T4, and then returns the cursor to the T4 location, where the user can immediately start typing a new question, or they can BACKUP, if they desire to change the question type, subject data indicationy or the indentification name or number, etc.e TESTFILL.000 quits program and returns to DOS. alerts user to printer being off line.T CHECK PRINTER " routes here when 20 questions have been entered in shareware version.r SHARWARE.001 routes here so display address screen, once 20 questions have beenh entered, and the 1st sharware alert screen has been displayed, in shareware version. SHARWARE.002 routes to error routine if printer is off line, for some reason. see skipspaces skips the printing of 3 blank lines, if a pages main header has already been printed. the routine resets, when a new page is started. TRUE AND FALSE QUESTIONS !" DATA: see skipheader3 " MULTIPLE CHOICE QUESTIONS !" DATA: see skipheader3 " see skipline4 A - " B - " C - " see skipline4 FILL IN THE BLANKS QUESTIONS !" DATA: skips the printing of a new header, if the question type is the same as the previous one was. next 2 lines controls the positioning of the print for the question,, so that another space is provided when the NO! reaches 10. this linesn up the text on the page, so that it is even.O " comes here, skipping the above line, if second line of the question is blank. this prevents the printing of an empty line. goes to auto-advance routine, when the 56th or 49th line has been reached. depending on printer type routes back in program toe a point where it will continue to search for records matching the retrievalt criteria, and print them. The routine now has a value for CODE% that is onet greater than when it arrived at this line. routes back in program to a point where the computer will await another command, to print a different record, browse, etc. auto-advances the page, prints the page number, and positions the page ready for data from the next questions.n QUESTIONS - PAGE #" OF TEST - QUESTIONS - PAGE #" OF TEST - QUESTIONS - PAGE #" OF TEST - routine to display the 2 help screens, and then return to the point of origin, where it displays the same screen, replaces all data, and puts the cursor on the line that was the point of origin.a HELP.000 HELP.001 TESTFILL.000 TRUE AND FALSE!" MULTIPLE CHOICE! FILL IN THE BLANKS!" nulls the strings that no longer apply to a chosen question type and reprints the dashes. ____________________ ____________________ ____________________ ____________________ ____________________ ____________________ routine to place a number at the bottom of the page, when a person is printing with the A key, and ends up in the middle of a page.p QUESTIONS - PAGE #" OF TEST - allows user to choose whether or not to print an answer page for the last question page printed. TEST COPIES PRINTED: " WOULD YOU LIKE ANOTHER COPY OF THE TEST " QUESTIONS THAT YOU JUST PRINTED Y/N? " next 2 lines erases the answer page options from the screen. " " " ANSWER COPIES PRINTED: PRINT THIS PAGES ANSWER SHEET Y/N? " IF NOT, THIS PAGES ANSWER DATA IS LOST! " next 2 lines erases the answer page options from the screen. " " " routine to convert all strings AA through BBB to VT strings again. see skipspaces skips the printing of 3 blank lines, if a pages main header has already been printed. the routine resets, when a new page is started. TRUE AND FALSE ANSWERS ! DATA: see skipheader32 MULTIPLE CHOICE ANSWERS !" DATA: see skipheader32 see skipline42 A - B - C - see skipline42k FILL IN THE BLANKS ANSWERS ! DATA: skips the printing of a new header, if the question type is the same as the previous one was. next 2 lines controls the positioning of the print for the question, so that another space is provided when the NO! reaches 10. this lines up the text on the page, so that it is even.O " comes here, skipping the above line, if second line of the question is blank.i this prevents the printing of an empty line. ( ) - (" ) - (" adds 1 to value of timesthrough! each pass, to accomodate the conversion of the A through L strings to T strings.L ANSWERS FOR PAGE # OF TEST - " RESET.000" TOO LONG __________ " " " THIS QUESTION IS TOO LONG !! RE-ENTER AFTER ANSWERS PROMPT! ANSWER COPIES PRINTED: DO YOU WANT TO PRINT ANOTHER COPY OF THIS PAGES ANSWERS Y/N? " PICKPRTR.000